home *** CD-ROM | disk | FTP | other *** search
- // menu.h
-
- #include "pane.h"
-
- class menu_item;
-
- class menu: public pane {
- public:
- menu (char* in_title, int in_bitmap_id, int x, int y, int baseline, int height, view* in_superview );
- virtual ~menu ();
-
- long get_id () { return m_id; };
- void add_item (char* in_item, long in_id, char in_shortcut);
-
- protected:
- long m_id;
- char m_title[32];
- int m_bitmap;
- int m_baseline;
- Boolean m_selected;
- Boolean m_open;
- WinHandle m_saved_bits;
- menu_item* m_items;
- int m_selected_item;
-
- virtual void draw_self();
- virtual Boolean click_self(int x, int y);
- virtual Boolean still_down_self(int x, int y);
- virtual Boolean pen_up_self(int x, int y);
-
- void get_menu_dimensions ( int& height, int& width );
- void get_menu_content_rect ( RectangleType* r );
- void get_menu_frame_rect ( RectangleType* r );
- void draw_menu ();
- void draw_menu_items ();
- void select_menu_item (int item);
- void invert_menu_item (int item);
- int get_item_hit (int x, int y);
- void get_item_rect (int item, RectangleType* r);
- int count_items();
- menu_item* get_item(int index);
-
- void save_bits( );
- void restore_bits( );
- };